"""ddd"""

"""
pytest-parallel在windows下执行失败及解决办法AttributeError: Can‘t pickle local object ‘pytest_addoption.＜locals
两个解决问题方法：
1. 回退版本0.0.10
2. 在pycharm中指定项目为pytest项目

进程：工厂，线程：工人
打开微信，开启了一个进程，在微信里面操作查看朋友圈，扫一扫，摇一摇，这么多的操作就是线程，
进程是 包含线程的，线程是进程的一个子集
一，安装
pip install pytest-xdist或
pip install pytest-parallel
二，对比说明
    pytest-parallel比pytest-xdist相对好用，功能支持的多
    pytest-xdist不支持多线程
    多进程：liunx或者Mac，Windows上不起作用永远是1
    多线程：liunx mac  windows 平台都支持
三，pytest-xdist常用配置命令
    -n :进程数，也就是CPU个数，最大数为当前机器CPU个数，也可以设置为auto，自动识别CPU个数
    示例：pytest -s test_1.py -n=2 #2个进程运行py用例文件
四，pytest-parallel常用配置命令
    -workers * ：多进程运行需要加此参数，*是进程数。默认为1
    -test-per-worker * :多线程运行，*是每个worker运行的最大并发线程数。默认1
    示例：pytest test.py --workers 3:3个进程运行
        pytest test.py --test-per-worker 4:4个线程运行
        pytest test.py --workers 2 --tests-per-worker 4 :2个进程并行，且每个进程最多4个线程运行，即总共最多8个线程运行。
        
   pytest-parallel加了多线程处理后，最后执行时间是运行时间最长的线程的时间 
        
多线程运行，在一个py文件里的用例运行不行，要使用框架执行多个py文件用例可进行多线程，缩短执行时间
"""
import pytest
import time
def testcase_01():
    time.sleep(2)
    print('这里是testcase_01')

def testcase_02():
    time.sleep(4)
    print('这里是testcase_02')

def testcase_03():
    time.sleep(5)
    print('这里是testcase_03')

if __name__ == '__main__':
    pytest.main(['-s',__file__,'--workers=1','--tests-per-worker=4'])